Field of the Invention
The present disclosure relates generally to power monitoring, and more specifically to a statistical power indication monitor (SPIM) that statistically monitors power indication signals that affect power consumption.
Description of the Related Art
Low power operation is a strong market differentiator for electronic applications, especially those that are battery-powered. Many applications are therefore designed to meet a predetermined power budget based on market factors, such as weight, size and cost, among other possible factors. After fabrication, an application is usually tested to determine whether it meets the predetermined or estimated power budget criterion. Many applications, however, even with the most careful design of task structure and scheduling, initially exceed the target power budget. Although there are well-known means of measuring overall power consumption, it is often difficult to identify the specific sources or causes of excessive power.
A significant number factors causing or otherwise contributing to excessive power consumption may be involved, many of which are not easily identifiable or detectable in a code trace or the like. Since the components of a design which consume the most power may vary during normal operation, power consumption should usually be assessed over relatively long spans of operation to identify specific sources or causes. Most development and/or analysis tools, however, tend to provide detail on specific moments of operation.
Conventional techniques are known that sample, often periodically, various circumstances by asserting CPU interrupts and having the interrupt routines gather statistics. Probably the most common usage of sampling is for code profiling. Conceptually, this technique could be adapted to gather statistics on, for example, a flash-memory programming power supply being turned on. This conventional approach, however, can have huge drawbacks in that the measurement functions themselves change what is being measured, thereby invalidating the measurements. For example, by asserting an interrupt, the target CPU goes into full-power mode, thereby making it impossible to gather statistics on that pivotal power-consumption factor. The interrupt routine modifies cache content causing more cache misses than would normally occur. Also, since the interrupt routine takes time to execute, samples cannot be taken very often. Furthermore, many factors that affect power consumption require access to low-level hardware signals, not typically visible to a CPU. Another drawback to these conventional techniques is that they cannot gather statistics while interrupts are masked, which is often when high-power activities are performed.
Generally, the specific causes of excessive power consumption are not easily determinable using conventional techniques.